package com.pic.others.service;

import com.pic.common.utils.R;
import com.pic.others.domain.po.Note;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pic.others.domain.po.Picture;
import com.pic.others.domain.vo.note.NotePictureVO;
import com.pic.others.domain.vo.note.NoteWithContentVO;
import org.springframework.web.multipart.MultipartFile;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author koshi
 * @since 2023-11-24
 */
public interface INoteService extends IService<Note> {

    R<String> deleteByNoteId(long noteId);

    R<NotePictureVO> queryByNoteId(long noteId);


    R<List<Picture>> getPictureByMaybeNeed(String content);


    R<String> updateNote(Note note, List<MultipartFile> pictures);

    R<String> addNote(Note note, MultipartFile pictures);

    R<List<NotePictureVO>> getAllNoteByUserId();

    R<Map<LocalDate, List<NotePictureVO>>> getAllNoteByUserInGroup();

    R<String> addNoteByContent(NoteWithContentVO vo);

    R<String> addNoteByPicture(Long noteId,MultipartFile file);

    R<String> updateContent(Note note);
}
